导航菜单
首页 >  入门 Julia中文文档  > 主页 · Julia中文文档

主页 · Julia中文文档

主页Julia 1.0 中文文档

欢迎来到 Julia 1.0 中文文档(PDF版本)!

上次更新时间: 2019-04-07T00:13:51.139

请先阅读 v1.0 正式发布博文 以获得对这门语言的总体概观。我们推荐刚刚开始学习Julia语言的朋友阅读中文社区提供的 Julia入门指引,也推荐你使用discourse对遇到的问题进行提问。

关于中文文档

Julia 语言相关的本地化工作是一个由社区驱动的开源项目 JuliaZH.jl,旨在方便 Julia 的中文用户。我们目前使用 Transifex 作为翻译平台。翻译工作正在进行,有任何疑问或建议请到社区论坛文档区反馈。若有意参与翻译工作,请参考翻译指南。

简介

科学计算对性能一直有着最高的需求,但目前相关领域的专家却大量使用比较慢的动态语言来完成他们的日常工作。 我们相信在科学计算领域,有很多好的理由使专家们偏爱动态语言, 因此我们不会舍弃这样的特性。幸运的是,现代语言设计和编译器技术可以大大消除性能折衷(trade-off),并提供足够的单一环境来进行原型设计,而且足够高效地部署性能密集型应用程序。Julia 语言在这其中扮演了这样一个角色:它是一门灵活的动态语言,适合用于科学计算和数值计算,并且性能可与传统的静态类型语言媲美。

由于 Julia 的编译器和其它语言比如 Python 或 R 的解释器有所不同,一开始您可能会觉得用 Julia 编写高性能的代码并不是一件容易的事。 如果您发现您的某部分代码有些慢,我们非常建议您在尝试其它功能前读一下提高性能的窍门 。在理解了 Julia 的运作方式后,写出和 C 一样快的代码对您而言就是小菜一碟。

Julia 拥有可选类型标注和多重派发这两个特性,同时还拥有很棒的性能。这些都得归功于(使用 LLVM 实现的)类型推导和即时编译(JIT)技术。Julia 是一门支持过程式、函数式和面向对象(object-oriented)的多范式语言。 它像 R、MATLAB 和 Python 一样简单,在高级数值计算方面有丰富的表现力,而且支持通用编程。为了实现这个目标, Julia 以数学编程语言(mathematical programming languages)为基础,同时也参考了不少流行的动态语言,例如 Lisp, Perl, Python, Lua, 和 Ruby。

Julia 与传统动态语言最重要的区别是:

核心语言很小:标准库是用 Julia 自身写的,包括整数运算这样的基础运算丰富的基础类型:既可用于定义和描述对象(object),也可用于做可选的类型标注通过多重派发,可以根据类型的不同,来调用同名函数的不同实现为不同的参数类型,自动生成高效、专用的代码接近 C 语言的性能

尽管人们有时会说动态语言是“无类型的”,但实际上绝对不是这样的:每一个对象都有一个类型,无论它是基础的(primitive)还是用户自定义的。 大多数的动态语言都缺乏类型

相关推荐: